package zhai.jvm;

//模拟内存溢出
public class JavaOOM {
    // -Xms 设置初始化内存分配大小 1/64　相对服务器实际内存
    // -Xmx 设置最大分配内存，默认 1/4　相对服务器实际内存
    // -XX:+PrintGCDetails　控台输出堆GC详情
    // -XX:+HeapDumpOnOutOfMemoryError 生成OOM的Dump文件
    // -XX:+MaxTenuringThreshold=15 设置新生代到老年代的存活次数，默认15次，设置越大，越不容易进到老年代
    // -Xms1m -Xmx1m -XX:+PrintGCDetails
    // -Xms1m -Xmx1m -XX:+HeapDumpOnOutOfMemoryError
    public static void main(String[] args)   {
        //虚拟机使用的最大内存
        long maxMemory = Runtime.getRuntime().maxMemory();
        //虚拟机初始化总内存
        long totalMemory = Runtime.getRuntime().totalMemory();
        System.out.println("maxMemory:" + (maxMemory/(double)1024) + "K");
        System.out.println("totalMemory:" + (totalMemory/(double)1024) + "K");
        String a = "a";
        while (true) {
            a += a;
        }
    }
}
